Tidbits and Caveats

These are good things to know.  The first two are just for SourceSafe users.

• SourceSafe bug #1 - Binary files won't be "Gotten" properly in the following scenario:  This bug has been called into Microsoft:  If you and all your engineers have revision 1 of a binary file on your disk, and then somebody goes into the database, purges that file, and then adds a new file by the same name, the change will go unnoticed by the everyone else.  That is, a "Get All" will not cause the new database file to overwrite your old one.  We discovered this when we purged a library file because we only wanted to keep one revision in the database to conserve space.

• SourceSafe bug #2 - This is a benign but annoying bug:  When you choose Get All From, what you really want is to get all newer files, but SourceSafe doesn't do the right thing, it overwrites ALL your files, even the ones that haven't changed, which forces you to recompile everything.  There is a workaround to this: instead of using Get All From, use Show Differences.  This works fine, and although it takes just as long, it allows you to get only the files that are really newer, saving you from a forced recompile of the world (unless everything has indeed changed in the database!).

• Notification problems, BBEdit - Normally, when you Compare Two Files, SM switches over to BBEdit and everything is just fine.  But if the two files are identical, you'll get a Notification Manager message asking you to switch to BBEdit, but you won't be able to, at least not in the usual way, because SM appears to be frozen.  What's really going on is that BBEdit has put up a modal dialog saying the files are equal, and I think the modality of this prevents us from switching into BBEdit.  But, there is a surprising way to continue: click repeatedly on the desktop anywhere.  Eventually, you'll see the Finder kick in, and then you can switch to BBEdit, where you'll see the dialog telling you the files are equal.  Click OK, and you're home free.

• Notification problems, SourceSafe - The SourceSafe MPW tool SS, which is what Source Manager talks to via ToolServer, has a similar problem.  Gee, maybe it's me, I don't know.  Anyway, you'll probably never see this problem, since I think I've worked around in it.  But if you ever hear a sysbeep and SM appears frozen, follow the same procedure as for the BBEdit problem above, only switch to ToolServer instead of BBEdit, when you can.  There you'll see a dialog created by SourceSafe's SS tool, asking you some question.

• ToolServer mem leak - ToolServer appears to be have a TempMem (Finder memory) leak.  I haven't gotten much of a clue as to exactly when it happens (doesn't seem to always happen).  But I have noticed that when it appears some memory is missing ("About This Macintosh's" stats don't add up), quitting ToolServer gets it back.  This is a benign problem, just a little annoying.

• Source Manager mem leaks - Source Manager still has some memory leaks.  I'm going to tackle them soon, but you should be aware that they're there.  They don't cause any unexpected problems or anything, but of course, memory leaks should be plugged and I haven't gotten them all plugged yet.

• Source Manager Prefs can be edited - You might like to know that you can edit the prefs file created by Source Manager.  For the non-standard resources, I've put TMPL's in to identy the fields, so it's all very readable and editable.  There really is no reason I can think of to edit these yourself, but hey, you can.  The main stickies are in a resource of type 'SMop', and the rest are various lists of things, all descriptively named.  Be aware that some of the STR# lists are synchronized groups (i.e. all must be the same quantity).

• How SM distinguishes SourceSafe 'ckid's from SourceServer 'ckid's - If you're interested, the way SM can tell that a file is under SourceSafe or SourceServer control is that the PID.a and PID.b fields of SourceSafe 'ckid's are always zero, whereas those of SourceServer are always non-zero.

• Source Manager Prefs name can be changed - The preferences file can actually be named anything you want.  SM doesn't look at the name, it looks at the type/creator.